home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 10 / FM Towns Free Software Collection 10.iso / ms_dos / tool / txf / src / txf.h < prev    next >
C/C++ Source or Header  |  1994-09-17  |  6KB  |  223 lines

  1. /*====================================================================
  2.  *
  3.  * TXF common include file
  4.  *
  5.  *====================================================================
  6.  *                                   copyright(C) 1992-1994 T.Nakatani
  7.  *====================================================================
  8.  */
  9.  
  10. #include <stdio.h>
  11. #include <stdlib.h>
  12. #include <string.h>
  13. #include <ctype.h>
  14. #include <jctype.h>
  15. #include <jstring.h>
  16. #include <dos.h>
  17. #include <io.h>
  18. #include <fcntl.h>
  19. #include <math.h>
  20. #include <sys/types.h>
  21. #include <sys/stat.h>
  22. #include <farstr.h>
  23. /*====================================================================
  24.  * common definition
  25.  *====================================================================
  26.  */
  27. #define NUL '\0'
  28. #define TAB 0x09
  29. #define RET 0x0A
  30. #define CR  0x0D
  31. #define LF  0x0A
  32. #define TRUE  1
  33. #define FALSE 0
  34.  
  35. #define MAX_STR 9
  36. #define EX_MAX 300
  37. #define PARA_MAX 3000
  38. #define KFL_MAX 160
  39. #define KQ__MAX 80
  40. #define NP_DEL  4
  41.  
  42. /*====================================================================
  43.  * grobal variable
  44.  *====================================================================
  45.  */
  46.  
  47. #ifdef MAIN
  48. char inputfile[80];        /*    -i    */
  49. char outputfile[80];    /*    -o    */
  50. char wcfile[80];        /*    -io    */
  51. char bakfile[80];        /*    -rb    */
  52. int  tabsize=8;            /*    -t    */
  53. int  tabx=0;            /*    -x    tab展開    */
  54. int  maxc=76;            /*    -l    */
  55. int  cent=0;            /*    -c    */
  56. int  left=-1;            /*    -ml    */
  57. int  right=-1;            /*    -mr    */
  58. int  retflg=0;            /*    -r    */
  59. int  quoteflg=0;        /*    -q    引用文    */
  60. int  base=-1;            /*    -b    */
  61. char tfile[2][64];        /*    -d    */
  62. int  exflg=0;            /*    -e    */
  63. int  format=1;            /*    -n,-f    */
  64. int  viewmode=0;        /*    -v    */
  65. char sep=0x22;            /*    -s    */
  66. int  removeeofflg=0;    /*    -rz    */
  67. int  removebakfile=0;    /*    -rb    */
  68. int  setline=0;            /*  -z    */
  69. int  ishflg = 0;
  70. int  ishline = 0;
  71. int  ishmax = 0;
  72. char *ishptr;
  73. char linestr[8];
  74. char quotemarker[20] = "";
  75. char quoteend[20] = "";
  76. unsigned long starttxf = 0L;
  77. unsigned long endtxf = 0L;
  78. int read_def_flg = 1;
  79. int command_option = 0;
  80. int  tmpinfile;
  81.  
  82. char far *exold[EX_MAX], far *exnew[EX_MAX], far *exattr[EX_MAX];
  83. char far *exptr[EX_MAX], far *exattrptr[EX_MAX];                /*    -e    */
  84. char far *para[PARA_MAX];
  85. char *kl, *kf, *kq;
  86. char ishchr[80] = "%&')+,?/2456789:;<=>ABCDEFGHIKLNORTUVWXYZ[\\]^abcdefghijklmnpqrstuvxyz|。」";
  87. char ishhead1[36] = "<<< ^2( use ish^1) [ ^1 lines ] >>>";
  88. char ishhead2[28] = "--- ^2 (12345/12345) ---";
  89.  
  90. int quote=0;
  91. char *basedir;
  92. FILE *input,*output;
  93. int outputh, inputh;
  94. signed long fsize;
  95. unsigned int rbufsize = 65530;
  96.  
  97. time_t ftime[2];
  98.  
  99. /* use commandfile */
  100.  
  101. char far *fbuf;
  102. int fbufsize=0,fbufptr=0;
  103.  
  104. #endif
  105.  
  106. /*====================================================================
  107.  * external variable
  108.  *====================================================================
  109.  */
  110.  
  111. extern int  tmpinfile;
  112. extern char inputfile[80];        /*    -i    */
  113. extern char outputfile[80];    /*    -o    */
  114. extern char wcfile[80];        /*    -io    */
  115. extern char bakfile[80];        /*    -rb    */
  116. extern int  tabsize;            /*    -t    */
  117. extern int  tabx;            /*    -x    tab展開    */
  118. extern int  maxc;            /*    -l    */
  119. extern int  cent;            /*    -c    */
  120. extern int  left;            /*    -ml    */
  121. extern int  right;            /*    -mr    */
  122. extern int  retflg;            /*    -r    */
  123. extern int  quoteflg;        /*    -q    引用文    */
  124. extern int  base;            /*    -b    */
  125. extern char tfile[2][64];        /*    -d    */
  126. extern int  exflg;            /*    -e    */
  127. extern int  format;            /*    -n,-f    */
  128. extern int  viewmode;        /*    -v    */
  129. extern char sep;            /*    -s    */
  130. extern int  removeeofflg;    /*    -rz    */
  131. extern int  removebakfile;    /*    -rb    */
  132. extern int  setline;        /*  -z    */
  133. extern int  ishflg;
  134. extern int  ishline;
  135. extern int  ishmax;
  136. extern char *ishptr;
  137. extern char linestr[8];
  138. extern char quotemarker[20];
  139. extern char quoteend[20];
  140. extern unsigned long starttxf;
  141. extern unsigned long endtxf;
  142. extern int read_def_flg;
  143. extern int command_option;
  144.  
  145. extern char far *exold[], far *exnew[], far *exattr[];
  146. extern char far *exptr[], far *exattrptr[];/*    -e    */
  147. extern char far *para[];
  148.  
  149. extern char *kl, *kf, *kq;
  150. extern char ishchr[80];
  151. extern char ishhead1[36];
  152. extern char ishhead2[28];
  153.  
  154. extern int  quote;
  155. extern char *basedir;
  156. extern FILE *input,*output;
  157. extern int outputh, inputh;
  158. extern signed long fsize;
  159. extern unsigned int rbufsize;
  160.  
  161. extern time_t ftime[2];
  162. extern char far *fbuf;
  163. extern int  fbufsize,fbufptr;
  164.  
  165. /*====================================================================
  166.  * external function
  167.  *====================================================================
  168.  */
  169.  
  170. void setleft(void);
  171. void setleft0(void);
  172. int  putspace(int num, FILE *file);
  173. /* int putspace(int num, unsigned int handle);    */
  174. int  findret(int ox, int iy, char far *rptr);
  175. int  putret(int ox, char far *rptr);
  176. int  linelen(char far *ptr);
  177. int  levelchk(unsigned long int line);
  178. int  ishchk(char far *ptr);
  179. void exchange(void);
  180. void exchangedriver(void);
  181. void read_def(char *own);
  182. void savemem(char chr);
  183. void read_commandfile(char *commandfile, int level);
  184. void savesw(int base);
  185. int  hex(char far *str);
  186. char far *ftrans(char far *form);
  187. int  quotechk(char far *ptr);
  188. char *strspc(char *ptr, char find);
  189. char *ktrans(char far *str);
  190. void init_allswitch(void);
  191. void gettmpfile(void);
  192. char *get_filename(char *wildcard);
  193. void mktfilename(void);
  194. void input_to_output(void);
  195. void tfileopen(int i);
  196. int  wcchk(void);
  197. void errexit(char *errmes);
  198. void logicerr(char *str);
  199. void credit(char *name);
  200. void showswitch(void);
  201. int  matchstr(char *form, char far *txtptr);
  202. void init(char *name);
  203. void setdefault(void);
  204. void txf(void);
  205. void endoftxf(void);
  206. int  main(int argc, char **argv);
  207. void removeeof(void);
  208. void case_k(char c, char far *str);
  209. void case_r(char c);
  210. void case_e(char c);
  211. int  chkoprnd(char next);
  212. char *nrcpy(char far *fstr);
  213. void swlow(int *i, char far **val);
  214. void swhigh(int *i, char far **val);
  215. void swchk(int count, char far **val);
  216. char far *buffileopen(int i);
  217. char far *readnext(int val);
  218. /* char *readbefore(int val);    */
  219. long int remainbyte(void);
  220. void bufclose(void);
  221. int  chktouch(char far *rptr, int iy);
  222. void txform(void);
  223.